package com.zjitc.dao;

import com.zjitc.model.User;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;

import java.util.List;

/**
 * Create by IntelliJ IDEA
 *
 * @author: jsonor
 * @date-Time: 2018/3/27 16:03
 * @description:
 */
public interface UserDao {

  /**
   * 登录
   * @param name
   * @return
   */
  User login(@Param("username") String name);

  /**
   * 查找所有User
   * @return
   */
  List<User> findAll();

  /**
   * 添加user 到数据库
   * @param user
   * @return
   */
  int addUser(User user);

  /**
   * 从数据库中检查是否存在username
   * @param name
   * @return
   */
  User checkname(@Param("username") String name);

  /**
   * 从数据库中检查是否存在email
   * @param email
   * @return
   */
  User checkemail(String email);

  /**
   * 从数据库中查看并返回所有username
   * @return List
   */
  List<String> findAllusername();

  /**
   * 更新数据库中的用户信息
   * @param user
   */
  void updateuser(User user);

  /**
   * 查找数据库中对应username的用户信息
   * @param username
   * @return
   */
  User findbyUsername(String username);

  /**
   * 查找数据库中对应password的用户信息
   * @param password
   * @return
   */
  User findbypassword(String password);

  /**
   * 查看数据库中用户数量
   * @return
   */
  int findAllCount();

  /**
   * 查看数据库中所有的email
   * @return
   */
  List<String> findAllEmail();

}
